import pandas as pd
import seaborn as sn
import matplotlib.pyplot as plt
# 显示中文标题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

data = pd.read_csv('data/train.csv')

# pd.set_option('display.max_columns', 120)
pd.set_option('display.width', 1000)
print("head\n", data.head())

print("dtype:\n", data.dtypes)
print("info()\n", data.info())

# sn.pairplot(data, vars=['Pclass', 'Sex', 'Age', 'Fare', 'Embarked'], hue='Survived')

 # 绘图
fig = plt.figure()
# 乘客等级分布
plt.subplot2grid((2, 3), (0, 0))
data['Pclass'].value_counts().plot(kind='bar')
plt.ylabel(u"人数")
plt.xlabel(u'乘客等级')
plt.title(u'乘客等级分布')

# 乘客性别分布
plt.subplot2grid((2, 3), (0, 1))
data['Sex'].value_counts().plot(kind='bar')
plt.ylabel(u"人数")
plt.xlabel(u'性别')
plt.title(u'乘客性别分布')

# 乘客的年龄分布
plt.subplot2grid((2, 3), (0, 2))
data['Age'].hist()
plt.xlabel(u'年龄')
plt.title(u'乘客年龄分布')

# 票价的分布
plt.subplot2grid((2, 3), (1, 0))
data['Fare'].hist()
plt.xlabel(u'票价')
plt.title(u'船票票价分布')

# 箱线图：票价的异常情况探查
plt.subplot2grid((2, 3), (1, 1))
data['Fare'].plot(kind='box')
plt.title(u'票价箱线图')

# 登船港口的分布情况
plt.subplot2grid((2, 3), (1, 2))
data['Embarked'].value_counts().plot(kind='bar')
plt.xlabel(u'登船口')
plt.title(u'登船口乘客量分布')
plt.show()
